package com.ht.base.system.client;

import com.ht.base.system.common.pojo.bo.SysPostBO;
import com.ht.base.system.common.pojo.qto.SysPostQTO;
import org.base.common.appexception.AppException;
import org.base.common.appexception.ResultData;
import org.base.common.page.PageBO;

import java.util.List;

/**
 * @Author hdengxian
 * @Date 2023/8/15 17:20
 */
public interface SysPostClient {
    /**
     * 新增岗位接口
     * @param post
     * @return
     * @throws AppException
     */
    ResultData<Boolean> insertPost(SysPostBO post) throws AppException;

    /**
     * 修改岗位接口
     * @param post
     * @return
     * @throws AppException
     */
    ResultData<Boolean> updatePost(SysPostBO post) throws AppException;

    /**
     * 删除岗位数据接口
     * @param sysPostIds
     * @return
     * @throws AppException
     */
    ResultData<Boolean> deletePost(Long[] sysPostIds) throws AppException;

    /**
     * 通过岗位ID查询岗位数据接口
     * @param sysPostId
     * @return
     * @throws AppException
     */
    ResultData<SysPostBO> getPostById(Long sysPostId) throws AppException;

    /**
     * 查询所有的岗位
     * @return
     * @throws AppException
     */
    ResultData<List<SysPostBO>> getPostList() throws AppException;

    /**
     * 分页查询岗位列表
     * @param qto
     * @return
     * @throws AppException
     */
    ResultData<PageBO<SysPostBO>> getPostForPage(SysPostQTO qto) throws AppException;
}
